// divisors.c -- nested ifs divisors of a number
#include <stdbool.h>
#include <stdio.h>

int main(void) {
  unsigned long num;  // number to be checked
  unsigned long div;  // potential divisors
  bool isPrime;       // prime flag

  printf("Please enter an integer for analysis; ");
  printf("Enter q to quit.\n");
  while (scanf("%lu", &num) == 1) {
    for (div = 2, isPrime = true; (div * div) <= num; div++) {
      if (num % div == 0) {
        if ((div * div) != num)
          printf("%lu is divisible by %lu and %lu.\n", num, div, num / div);
        else
          printf("%lu is divisible by %lu.\n", num, div);
        isPrime = false;  // number is not a prime
      }
    }
    if (isPrime) printf("%lu is prime.\n", num);
    printf("Please enter an integer for analysis; ");
    printf("Enter q to quit.\n");
  }
  printf("Bye.\n");

  return 0;
}
